Computers are known to include a central processing unit, system memory, audio processing circuitry, video graphics circuitry and peripheral ports. The peripheral ports allow the computer to interface with peripheral devices such as monitors, mouses, keyboards, printers, external memory devices, etc. The video graphics circuitry functions as a co-processor for the central processing unit such that it processes video and/or graphic images for display on a monitor.
As is known, the video graphics circuitry prepares frames of video images for display on the computer monitor. In general, the video graphics circuitry produces a frame's worth of video data at a rate that is dependent upon the refresh rate of the computer monitor. For example, if the refresh rate is 60 hertz, the video graphics circuitry must produce and store a frame of video data in a frame buffer once every 1/60th of a second. If the refresh rate of the computer monitor is 75 Hz, 90 Hz, or greater, the video graphics circuit must produce the frame of video data in even less time.
When the video graphics circuitry is preparing graphics images for display (e.g., images that have been generated in response to performing computer applications such as word processing applications, drawing applications, presentation applications, spreadsheet applications, video games, etc.), the rate at which the image data is received directly corresponds to the refresh rate of the computer monitor. For example, if the computer monitor refresh rate is 60 hertz, the display update rate (i.e., the rate at which the image data is received) of the graphics images is also 60 hertz. Thus there is no drift between the display update rate and the refresh rate.
When a computer is processing video data (e.g., television broadcast, satellite broadcast, cable broadcast, DVD images, VCR images, and/or motion picture images), the display update rate does not exactly match the display refresh rate. For example, television broadcasts may have a display update rate of 59.94 hertz. Thus, when displayed on a computer monitor, the images being displayed have a slightly longer period than the refresh rate of the computer monitor. As such, the differences in the frequencies will cause drift such that an overflow or underflow condition results in the frame buffer. When this occurs, a video frame must either be added or dropped from displaying on the computer monitor.
When a frame is added or deleted, it may be perceived by the viewer. For example, if a frame is added during an action scene (e.g., a basketball game), the viewer would notice a skip in the video do to the added or deleted frame. To overcome this problem, techniques have been developed to increase the synchronization between the display update rate of video images and the refresh rate of computer monitors. While these techniques have substantially reduced the need for adding or deleting frames, in many such applications the need still exists, albeit at a much less frequent rate. But, when a video frame is to be added or deleted, the above mentioned problem still exists.
Therefore, a need exists for a method and apparatus that provides for the adding and/or deleting of video frames during scenes that will not be perceived by most viewers.